[tox]
envlist =
    check
    build
    build_docs
    py{37,38,39,310,311}
isolated_build = True
skip_missing_interpreters = True


[gh-actions]
python =
    3.7: py37
    3.8: check, build, build_docs, py38
    3.9: py39
    3.10: py310
    3.11: py311


[testenv:check]
whitelist_externals = poetry
skip_install = true
commands =
  poetry install --no-root
  poetry run pre-commit run --all-files


[testenv:build]
whitelist_externals = poetry
skip_install = true
commands =
  poetry build


[testenv:build_docs]
whitelist_externals = poetry
skip_install = true
commands =
  poetry install -E docs
  poetry run sphinx-build -n -T -W -b html -d {envtmpdir}/doctrees docs docs/_build/html


[testenv]
whitelist_externals = poetry
skip_install = true
commands =
  poetry install
  poetry run pytest -ra --cov=pyseto --cov-report=term --cov-report=xml tests


[testenv:py310]
whitelist_externals = poetry
skip_install = true
commands =
  pip install cleo tomlkit poetry-core requests cachecontrol cachy html5lib pkginfo virtualenv lockfile
  poetry install
  poetry run pytest -ra --cov=pyseto --cov-report=term --cov-report=xml tests
